首页
首页

kubernetes web发布更新平台 数据库设计

####kubernetes web发布更新平台 数据库设计

本来今天不想发文章的,但是不写上的话 明天可能就忘记今天具体做了什么,所以还是坚持来记录下。

代码一角

  • 思路

yaml基础信息一张表

yaml中唯一的值一张表

版本号一张表,为后期滚动升级,回滚做铺垫

以下为代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# 集群唯一项目名
class Project_Name(models.Model):
pod_name = models.CharField('集群项目唯一标识Pod_name',max_length=40,null=True)
def __unicode__(self):
return self.pod_name
class Meta:
verbose_name = '集群项目唯一标识'
verbose_name_plural = '集群项目唯一标识'

# 集群版本号
class Project_Version(models.Model):
pod_version = models.CharField('项目版本号',max_length=120,null=True)
pod_name = models.ForeignKey(Project_Name,verbose_name='集群项目唯一标识Pod_name')
def __unicode__(self):
return self.pod_version
class Meta:
verbose_name = '集群项目版本号'
verbose_name_plural = '集群项目版本号'

# 集群项目信息
class Project_list(models.Model):
kind = models.CharField('kind',max_length=120)
apiVersion = models.CharField('apiVersion',max_length=120)
namespace = models.CharField('namespace',max_length=120)
rc_name = models.CharField('rc名称',max_length=120) # RC名称,跟随这滚动更新变化
pod_name = models.ForeignKey(Project_Name, verbose_name='集群唯一项目名')
pod_version = models.ForeignKey(Project_Version, verbose_name='集群项目版本号')
# version = models.CharField('版本号',max_length=120) # 版本号和容器版本号要一致
replicas = models.CharField('Pod个数',max_length=120) # pod个数 replicas
container_counts = models.CharField('容器个数',max_length=50) # 容器个数
#update_version = models.CharField('滚动升级', max_length=120) # 容器滚动升级版本号 默认为空
#back_verion = models.CharField('回滚',max_length=120) # 容器滚动更新后,将老版本号存入到此处,方便回滚
containers = models.TextField('容器信息',max_length=512) # 容器信息
author = models.CharField('项目发布人',max_length=120) # 项目发布人,从cookies中读取
time = models.DateTimeField('创建时间', auto_now_add=True)
status = models.CharField('项目状态',max_length=20) # 生产或者测试
start_status = models.CharField('启动状态',max_length=20) # 是否启动存在值为启动不存在为未启动
ftp_info = models.CharField('ftp账户与密码',max_length=50) # 生成的ftp账户密码 在为空时不显示

def __unicode__(self):
return self.rc_name
class Meta:
verbose_name = 'RC集群信息'
verbose_name_plural = 'RC集群信息'

以上为数据库代码

支持一下
扫一扫,我会更有动力更新
  • 微信扫一扫
  • 支付宝扫一扫